{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## sklearn中的SVM\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import datasets\n",
    "iris = datasets.load_iris()\n",
    "X = iris.data\n",
    "y = iris.target\n",
    "\n",
    "X = X[y<2,:2]           #二分类，只取前两个特征\n",
    "y = y[y<2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x62d6b6ef88>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD5CAYAAAA3Os7hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAXk0lEQVR4nO3df4xdZZ3H8fd3hy6Ov5gokxWmxWbV9A9ptXTCj3RjXHAXf9TSIGqJrNawdtfIisFgFkPQNCbENEEXSTT8yALCot2KTSEgiyJRXGlyp2C7WpugQfuDXUawRdbK0uG7f9w7dHrnzsx97r3PPc/z3M8raTr33IfD93mOfrlzzueca+6OiIjk78+qLkBERHpDDV1EpBBq6CIihVBDFxEphBq6iEgh1NBFRApxQrsDzWwIqAEH3H1N03sbgM3AgcamG9z95vn2d/LJJ/vSpUuDihURGXQTExO/c/fRVu+13dCBy4E9wGvneP/b7n5ZuztbunQptVot4F8vIiJm9pu53mvrlIuZLQbeB8z7qVtERKrT7jn0rwKfA16aZ8wHzGyXmW01syWtBpjZRjOrmVltcnIytFYREZnHgg3dzNYAT7v7xDzD7gGWuvsK4PvAba0GufuN7j7u7uOjoy1PAYmISIfa+YS+GlhrZk8C3wLONbM7Zg5w92fc/YXGy5uAVT2tUkREFrRgQ3f3q9x9sbsvBdYDD7n7JTPHmNkpM16upX7xVERE+igk5XIcM9sE1Nx9O/BpM1sLHAWeBTb0pjwREWmXVfX43PHxcVdsUXKw7bEDbH5gLwcPHeHUkWGuPH8Z61aOVV2WDCgzm3D38VbvdfwJXWQQbHvsAFfdvZsjL04BcODQEa66ezeAmrokR7f+i8xj8wN7X27m0468OMXmB/ZWVJHI3NTQReZx8NCRoO0iVVJDF5nHqSPDQdtFqqSGLjKPK89fxvCioeO2DS8a4srzl1VUkcjcdFFUZB7TFz6VcpEcqKGLLGDdyjE1cMmCTrmIiBRCDV1EpBBq6CIihVBDFxEphBq6iEgh1NBFRAqhhi4iUgg1dBGRQqihi4gUQneKSjH0RRQy6NTQpQj6IgoRnXKRQuiLKETU0KUQ+iIKETV0KYS+iEJEDV0KoS+iENFFUSmEvohCRA1dCqIvopBBp4YuXVP+WyQNaujSFeW/RdKhi6LSFeW/RdKhhi5dUf5bJB1q6NIV5b9F0qGGLl1R/lskHbooKl1R/lskHWro0jXlv0XS0HZDN7MhoAYccPc1Te+dCNwOrAKeAT7s7k/2sE6RLCiTL1UKOYd+ObBnjvcuBX7v7m8GvgJ8udvCRHIznck/cOgIzrFM/rbHDlRdmgyIthq6mS0G3gfcPMeQC4DbGj9vBc4zM+u+PJF8KJMvVWv3E/pXgc8BL83x/hiwD8DdjwKHgdc3DzKzjWZWM7Pa5ORkB+WKpEuZfKnagg3dzNYAT7v7xHzDWmzzWRvcb3T3cXcfHx0dDShTJH3K5EvV2vmEvhpYa2ZPAt8CzjWzO5rG7AeWAJjZCcBJwLM9rFMkecrkS9UWbOjufpW7L3b3pcB64CF3v6Rp2HbgY42fL2qMmfUJXaRk61aOce2FyxkbGcaAsZFhrr1wuVIu0jcd59DNbBNQc/ftwC3AN83sCeqfzNf3qD6RrCiTL1UKauju/jDwcOPna2Zs/xPwwV4WJnL1tt3ctWMfU+4MmXHxWUv40rrlVZclkizdKSpJunrbbu549Lcvv55yf/m1mrpIa3o4lyTprh37graLiBq6JGpqjmvqc20XETV0SdTQHDcaz7VdRNTQJVEXn7UkaLuI6KKoJGr6wqdSLiLts6ru/xkfH/darVbJv1tEJFdmNuHu463e0yd0aekjN/2Un/zq2NMbVr/pddz5iXMqrKg6esa55ELn0GWW5mYO8JNfPctHbvppRRVVR884l5yoocsszc18oe0l0zPOJSdq6CLz0DPOJSdq6CLz0DPOJSdq6DLL6je9Lmh7yfSMc8mJGrrMcucnzpnVvAc15aJnnEtOlEMXEcmIcugSLFb2OmS/yn+LhFFDl1mms9fTcb3p7DXQVUMN2W+sGkRKpnPoMkus7HXIfpX/Fgmnhi6zxMpeh+xX+W+RcGroMkus7HXIfpX/Fgmnhi6zxMpeh+xX+W+RcLooKrNMX3TsdcIkZL+xahApmXLoIiIZUQ49ghQy0qE1pFCziMSjht6BFDLSoTWkULOIxKWLoh1IISMdWkMKNYtIXGroHUghIx1aQwo1i0hcaugdSCEjHVpDCjWLSFxq6B1IISMdWkMKNYtIXLoo2oEUMtKhNaRQs4jEpRy6iEhGusqhm9krgB8BJzbGb3X3LzSN2QBsBg40Nt3g7jd3U7T03tXbdnPXjn1MuTNkxsVnLeFL65Z3PTaVfHsqdYhUpZ1TLi8A57r782a2CHjEzO5390ebxn3b3S/rfYnSC1dv280dj/725ddT7i+/bm7UIWNTybenUodIlRa8KOp1zzdeLmr8qeY8jXTsrh372t4eMjaVfHsqdYhUqa2Ui5kNmdnjwNPAg+6+o8WwD5jZLjPbamZL5tjPRjOrmVltcnKyi7Il1NQc10pabQ8Zm0q+PZU6RKrUVkN39yl3fzuwGDjTzE5vGnIPsNTdVwDfB26bYz83uvu4u4+Pjo52U7cEGjJre3vI2FTy7anUIVKloBy6ux8CHgbe3bT9GXd/ofHyJmBVT6qTnrn4rJa/NLXcHjI2lXx7KnWIVGnBhm5mo2Y20vh5GHgX8MumMafMeLkW2NPLIqV7X1q3nEvOPu3lT9lDZlxy9mktkyshY9etHOPaC5czNjKMAWMjw1x74fK+X4hMpQ6RKi2YQzezFdRPoQxR/w/AFnffZGabgJq7bzeza6k38qPAs8An3f2Xc+4U5dBFRDoxXw5dNxZ1KFbmOST/HXPfIfPLcS2ys2sL/GATHN4PJy2G866BFR+quiqpgL7gosdiZZ5D8t8x9x0yvxzXIju7tsA9n4YXG4mdw/vqr0FNXY6jh3N1IFbmOST/HXPfIfPLcS2y84NNx5r5tBeP1LeLzKCG3oFYmeeQ/HfMfYfML8e1yM7h/WHbZWCpoXcgVuY5JP8dc98h88txLbJz0uKw7TKw1NA7ECvzHJL/jrnvkPnluBbZOe8aWNT0H8hFw/XtIjPoomgHYj1bfPpiX4xkR8i+Q+aX41pkZ/rCp1IusgDFFkVEMqLYogBpZMslc8rDJ00NfUCkkC2XzCkPnzxdFB0QKWTLJXPKwydPDX1ApJAtl8wpD588NfQBkUK2XDKnPHzy1NAHRArZcsmc8vDJ00XRAZFCtlwypzx88pRDFxHJyEDn0GPlqUP2m8pzvZUtT0zpme7S5xeiT2tRdEOPlacO2W8qz/VWtjwxpWe6S59fiD6uRdEXRWPlqUP2m8pzvZUtT0zpme7S5xeij2tRdEOPlacO2W8qz/VWtjwxpWe6S59fiD6uRdENPVaeOmS/qTzXW9nyxJSe6S59fiH6uBZFN/RYeeqQ/abyXG9lyxNTeqa79PmF6ONaFH1RNFaeOmS/qTzXW9nyxJSe6S59fiH6uBbKoYuIZGSgc+ixKN8ukol7r4CJW8GnwIZg1QZYc133+00wZ6+G3gHl20Uyce8VULvl2GufOva6m6aeaM6+6IuisSjfLpKJiVvDtrcr0Zy9GnoHlG8XyYRPhW1vV6I5ezX0DijfLpIJGwrb3q5Ec/Zq6B1Qvl0kE6s2hG1vV6I5e10U7YDy7SKZmL7w2euUS6I5e+XQRUQy0lUO3cxeAfwIOLExfqu7f6FpzInA7cAq4Bngw+7+ZJd1txSa/87tGeAh2fLS1yJqzjckmxyrjpjzSzAj3TOhcyt5LZq0c8rlBeBcd3/ezBYBj5jZ/e7+6IwxlwK/d/c3m9l64MvAh3tdbGj+O7dngIdky0tfi6g535Bscqw6Ys4v0Yx0T4TOreS1aGHBi6Je93zj5aLGn+bzNBcAtzV+3gqcZ9b7uEVo/ju3Z4CHZMtLX4uoOd+QbHKsOmLOL9GMdE+Ezq3ktWihrZSLmQ2Z2ePA08CD7r6jacgYsA/A3Y8Ch4HXt9jPRjOrmVltcnIyuNjQ/HduzwAPyZaXvhZRc74h2eRYdcScX6IZ6Z4InVvJa9FCWw3d3afc/e3AYuBMMzu9aUirT+OzupC73+ju4+4+Pjo6GlxsaP47t2eAh2TLS1+LqDnfkGxyrDpizi/RjHRPhM6t5LVoISiH7u6HgIeBdze9tR9YAmBmJwAnAc/2oL7jhOa/c3sGeEi2vPS1iJrzDckmx6oj5vwSzUj3ROjcSl6LFtpJuYwCL7r7ITMbBt5F/aLnTNuBjwE/BS4CHvIIecjQ/HduzwAPyZaXvhZRc74h2eRYdcScX6IZ6Z4InVvJa9HCgjl0M1tB/YLnEPVP9FvcfZOZbQJq7r69EW38JrCS+ifz9e7+6/n2qxy6iEi4rnLo7r6LeqNu3n7NjJ//BHywmyJFRKQ7xd/6n93NNNIfITebpHBjSsybaXK7cSqF45Gooht6djfTSH+E3GySwo0pMW+mye3GqRSOR8KKftpidjfTSH+E3GySwo0pMW+mye3GqRSOR8KKbujZ3Uwj/RFys0kKN6bEvJkmtxunUjgeCSu6oWd3M430R8jNJincmBLzZprcbpxK4XgkrOiGnt3NNNIfITebpHBjSsybaXK7cSqF45Gwohv6upVjXHvhcsZGhjFgbGSYay9crguig27Fh+D918NJSwCr//3+61tfVAsZm0K9oeNjzS+3/RZCX3AhIpKRrm4sEhl4IV+GkYrcak4lW55KHR1SQxeZT8iXYaQit5pTyZanUkcXij6HLtK1kC/DSEVuNaeSLU+lji6ooYvMJ+TLMFKRW82pZMtTqaMLaugi8wn5MoxU5FZzKtnyVOroghq6yHxCvgwjFbnVnEq2PJU6uqCGLjKfNdfB+KXHPt3aUP11ihcXp+VWcyrZ8lTq6IJy6CIiGVEOXeLKMbsbq+ZY+e8c11j6Tg1dupNjdjdWzbHy3zmusVRC59ClOzlmd2PVHCv/neMaSyXU0KU7OWZ3Y9UcK/+d4xpLJdTQpTs5Zndj1Rwr/53jGksl1NClOzlmd2PVHCv/neMaSyXU0KU7OWZ3Y9UcK/+d4xpLJZRDFxHJyHw5dH1Cl3Ls2gJfOR2+OFL/e9eW/u83Vg0ibVAOXcoQK6sdsl/lxaVi+oQuZYiV1Q7Zr/LiUjE1dClDrKx2yH6VF5eKqaFLGWJltUP2q7y4VEwNXcoQK6sdsl/lxaViauhShlhZ7ZD9Ki8uFVMOXUQkI13l0M1siZn90Mz2mNnPzezyFmPeaWaHzezxxh/9jpm7HPPUyovHp3VLWjs59KPAZ919p5m9Bpgwswfd/RdN437s7mt6X6L0XY55auXF49O6JW/BT+ju/pS772z8/AdgDzAWuzCpUI55auXF49O6JS/ooqiZLQVWAjtavH2Omf3MzO43s7fO8c9vNLOamdUmJyeDi5U+yTFPrbx4fFq35LXd0M3s1cB3gM+4+3NNb+8E3ujubwO+BmxrtQ93v9Hdx919fHR0tNOaJbYc89TKi8endUteWw3dzBZRb+Z3uvvdze+7+3Pu/nzj5/uARWZ2ck8rlf7JMU+tvHh8WrfktZNyMeAWYI+7t3yws5m9oTEOMzuzsd9nelmo9FGOeWrlxePTuiVvwRy6mf0V8GNgN/BSY/PngdMA3P0bZnYZ8EnqiZgjwBXu/p/z7Vc5dBGRcPPl0BeMLbr7I4AtMOYG4IbOypOO7dpSTxgc3l8/j3neNYP9aeneK2Di1vqXMttQ/avfuv22IJGM6HnouVIm+Hj3XgG1W4699qljr9XUZUDoWS65Uib4eBO3hm0XKZAaeq6UCT6eT4VtFymQGnqulAk+ng2FbRcpkBp6rpQJPt6qDWHbRQqkhp4rZYKPt+Y6GL/02CdyG6q/1gVRGSB6HrqISEa6yqEPkm2PHWDzA3s5eOgIp44Mc+X5y1i3sqAHS5aeWy99finQGidNDb1h22MHuOru3Rx5sZ6KOHDoCFfdvRugjKZeem699PmlQGucPJ1Db9j8wN6Xm/m0Iy9OsfmBvRVV1GOl59ZLn18KtMbJU0NvOHjoSND27JSeWy99finQGidPDb3h1JHhoO3ZKT23Xvr8UqA1Tp4aesOV5y9jeNHxN6EMLxriyvOXVVRRj5WeWy99finQGidPF0Ubpi98Fptymb5oVWpCofT5pUBrnDzl0EVEMjJfDl2nXERysGsLfOV0+OJI/e9dW/LYt/SVTrmIpC5m/lvZ8qLoE7pI6mLmv5UtL4oaukjqYua/lS0vihq6SOpi5r+VLS+KGrpI6mLmv5UtL4oaukjqYj77Xs/VL4py6CIiGVEOXURkAKihi4gUQg1dRKQQaugiIoVQQxcRKYQauohIIdTQRUQKoYYuIlKIBRu6mS0xsx+a2R4z+7mZXd5ijJnZ9Wb2hJntMrMz4pQrXdFzr0WK1s7z0I8Cn3X3nWb2GmDCzB5091/MGPMe4C2NP2cBX2/8LanQc69FirfgJ3R3f8rddzZ+/gOwB2j+os0LgNu97lFgxMxO6Xm10jk991qkeEHn0M1sKbAS2NH01hiwb8br/cxu+pjZRjOrmVltcnIyrFLpjp57LVK8thu6mb0a+A7wGXd/rvntFv/IrKd+ufuN7j7u7uOjo6NhlUp39NxrkeK11dDNbBH1Zn6nu9/dYsh+YMmM14uBg92XJz2j516LFK+dlIsBtwB73P26OYZtBz7aSLucDRx296d6WKd0S8+9FileOymX1cDfAbvN7PHGts8DpwG4+zeA+4D3Ak8AfwQ+3vtSpWsrPqQGLlKwBRu6uz9C63PkM8c48KleFSUiIuF0p6iISCHU0EVECqGGLiJSCDV0EZFCqKGLiBRCDV1EpBBq6CIihbB6hLyCf7HZJPCbSv7lCzsZ+F3VRUSk+eWr5LmB5teON7p7y4dhVdbQU2ZmNXcfr7qOWDS/fJU8N9D8uqVTLiIihVBDFxEphBp6azdWXUBkml++Sp4baH5d0Tl0EZFC6BO6iEgh1NBFRAox0A3dzIbM7DEzu7fFexvMbNLMHm/8+fsqauyGmT1pZrsb9ddavG9mdr2ZPWFmu8zsjCrq7EQbc3unmR2ecfyy+q49Mxsxs61m9ksz22Nm5zS9n+2xg7bml+3xM7NlM+p+3MyeM7PPNI2Jcvza+caikl0O7AFeO8f733b3y/pYTwx/7e5z3cjwHuAtjT9nAV9v/J2L+eYG8GN3X9O3anrrX4DvuftFZvbnwCub3s/92C00P8j0+Ln7XuDtUP/QCBwAvts0LMrxG9hP6Ga2GHgfcHPVtVToAuB2r3sUGDGzU6ouatCZ2WuBd1D/Ll/c/f/c/VDTsGyPXZvzK8V5wK/cvfmu+CjHb2AbOvBV4HPAS/OM+UDj16GtZrakT3X1kgP/YWYTZraxxftjwL4Zr/c3tuVgobkBnGNmPzOz+83srf0srkt/CUwC/9o4JXizmb2qaUzOx66d+UG+x2+m9cBdLbZHOX4D2dDNbA3wtLtPzDPsHmCpu68Avg/c1pfiemu1u59B/de7T5nZO5reb/VdsbnkWBea207qz7x4G/A1YFu/C+zCCcAZwNfdfSXwv8A/N43J+di1M7+cjx8AjVNJa4F/b/V2i21dH7+BbOjAamCtmT0JfAs418zumDnA3Z9x9xcaL28CVvW3xO65+8HG309TP4d3ZtOQ/cDM3zwWAwf7U113Fpqbuz/n7s83fr4PWGRmJ/e90M7sB/a7+47G663UG2DzmCyPHW3ML/PjN+09wE53/58W70U5fgPZ0N39Kndf7O5Lqf9K9JC7XzJzTNP5rLXUL55mw8xeZWavmf4Z+Fvgv5qGbQc+2rjifjZw2N2f6nOpwdqZm5m9wcys8fOZ1P+3/ky/a+2Eu/83sM/MljU2nQf8omlYlscO2ptfzsdvhotpfboFIh2/QU+5HMfMNgE1d98OfNrM1gJHgWeBDVXW1oG/AL7b+P/ECcC/ufv3zOwfAdz9G8B9wHuBJ4A/Ah+vqNZQ7cztIuCTZnYUOAKs97xui/4n4M7Gr+2/Bj5eyLGbttD8sj5+ZvZK4G+Af5ixLfrx063/IiKFGMhTLiIiJVJDFxEphBq6iEgh1NBFRAqhhi4iUgg1dBGRQqihi4gU4v8BNHfDMumWi8wAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0,0], X[y==0,1])\n",
    "plt.scatter(X[y==1,0], X[y==1,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler     #数据标准化\n",
    "standardScaler = StandardScaler()\n",
    "standardScaler.fit(X)\n",
    "X_standard = standardScaler.transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearSVC(C=1000000000.0, class_weight=None, dual=True, fit_intercept=True,\n",
       "          intercept_scaling=1, loss='squared_hinge', max_iter=1000,\n",
       "          multi_class='ovr', penalty='l2', random_state=None, tol=0.0001,\n",
       "          verbose=0)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.svm import LinearSVC             # 线性SVM算法，用SVM算法完成分类工作\n",
    "svc = LinearSVC(C=1e9)                         # 取值越大越偏向hard SVM，越小容错空间越大\n",
    "svc.fit(X_standard, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_decision_boundary(model, axis):\n",
    "    \n",
    "    x0, x1 = np.meshgrid(\n",
    "        np.linspace(axis[0], axis[1], int((axis[1]-axis[0])*100)).reshape(-1, 1),\n",
    "        np.linspace(axis[2], axis[3], int((axis[3]-axis[2])*100)).reshape(-1, 1),\n",
    "    )\n",
    "    X_new = np.c_[x0.ravel(), x1.ravel()]\n",
    "\n",
    "    y_predict = model.predict(X_new)\n",
    "    zz = y_predict.reshape(x0.shape)\n",
    "\n",
    "    from matplotlib.colors import ListedColormap\n",
    "    custom_cmap = ListedColormap(['#EF9A9A','#FFF59D','#90CAF9'])\n",
    "    \n",
    "    plt.contourf(x0, x1, zz, cmap=custom_cmap)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x62cddf74c8>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_decision_boundary(svc, axis=[-3, 3, -3, 3])\n",
    "plt.scatter(X_standard[y==0,0], X_standard[y==0,1])\n",
    "plt.scatter(X_standard[y==1,0], X_standard[y==1,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearSVC(C=0.01, class_weight=None, dual=True, fit_intercept=True,\n",
       "          intercept_scaling=1, loss='squared_hinge', max_iter=1000,\n",
       "          multi_class='ovr', penalty='l2', random_state=None, tol=0.0001,\n",
       "          verbose=0)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc2 = LinearSVC(C=0.01)\n",
    "svc2.fit(X_standard, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x62cde91308>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_decision_boundary(svc2, axis=[-3, 3, -3, 3])\n",
    "plt.scatter(X_standard[y==0,0], X_standard[y==0,1])\n",
    "plt.scatter(X_standard[y==1,0], X_standard[y==1,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 4.03239489, -2.50698456]])"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc.coef_         #两个特征，每个特征对应一个系数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.92736812])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc.intercept_    #一个截距 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_svc_decision_boundary(model, axis):               #同时绘制决策边界和margin\n",
    "    x0, x1 = np.meshgrid( \n",
    "        np.linspace(axis[0], axis[1], int((axis[1]-axis[0])*100)).reshape(-1, 1),\n",
    "        np.linspace(axis[2], axis[3], int((axis[3]-axis[2])*100)).reshape(-1, 1),\n",
    "    )\n",
    "    X_new = np.c_[x0.ravel(), x1.ravel()]\n",
    "\n",
    "    y_predict = model.predict(X_new)\n",
    "    zz = y_predict.reshape(x0.shape)\n",
    "\n",
    "    from matplotlib.colors import ListedColormap\n",
    "    custom_cmap = ListedColormap(['#EF9A9A','#FFF59D','#90CAF9'])\n",
    "    \n",
    "    plt.contourf(x0, x1, zz, cmap=custom_cmap)\n",
    "    \n",
    "    w = model.coef_[0]           #二维数组第0个元素，下同\n",
    "    b = model.intercept_[0]\n",
    "    \n",
    "    plot_x = np.linspace(axis[0], axis[1], 200)\n",
    "    up_y = -w[0]/w[1] * plot_x - b/w[1] + 1/w[1]            #以折线图绘制就行\n",
    "    down_y = -w[0]/w[1] * plot_x - b/w[1] - 1/w[1]\n",
    "    \n",
    "    up_index = (up_y >= axis[2]) & (up_y <= axis[3])        #布尔数组\n",
    "    down_index = (down_y >= axis[2]) & (down_y <= axis[3])\n",
    "    plt.plot(plot_x[up_index], up_y[up_index], color='black')\n",
    "    plt.plot(plot_x[down_index], down_y[down_index], color='black')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x62cde57288>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_svc_decision_boundary(svc, axis=[-3, 3, -3, 3])\n",
    "plt.scatter(X_standard[y==0,0], X_standard[y==0,1])\n",
    "plt.scatter(X_standard[y==1,0], X_standard[y==1,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x62cdf70908>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_svc_decision_boundary(svc2, axis=[-3, 3, -3, 3])\n",
    "plt.scatter(X_standard[y==0,0], X_standard[y==0,1])\n",
    "plt.scatter(X_standard[y==1,0], X_standard[y==1,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
